package org.rain.common.util;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

/**
 * created by yangtong on 2025/4/13 21:05:49
 * <br/>
 * 维护一个全局唯一的Gson对象，并将json操作封装成静态方法
 */
public class Json {
    private static final Gson gson;

    static {
        gson = new GsonBuilder()
                .serializeNulls()   // 输出 null 字段
                .disableHtmlEscaping() // 不转义 HTML 标签
                //.setPrettyPrinting()    //美化输出（缩进格式），日志、调试时用
                .create();
    }


    public static <T> T fromJsonStr(String jsonStr, Class<T> type) {
        return gson.fromJson(jsonStr, type);
    }

    public static <T> String toJsonStr(T obj) {
        return gson.toJson(obj);
    }

    public static Gson getNative() {
        return gson;
    }

}
